{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  k-Nearest Neighbor with Grid Search\n",
    "KNN classifier is trained on feature set 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Get the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stored variables and their in-db values:\n",
      "X_16_val                  -> array([[ 3.00880939,  0.26443017,  1.05370334, ...\n",
      "X_32_val                  -> array([[-0.13964146,  0.53184264, -0.71694033, ...\n",
      "X_32test_std              -> defaultdict(<class 'list'>, {0: array([[-0.1396414\n",
      "X_32train_std             -> array([[-0.80277066, -0.49489511, -0.83240094, ...\n",
      "X_test                    -> defaultdict(<class 'list'>, {0: array([[[-0.006215\n",
      "X_test_std                -> defaultdict(<class 'list'>, {0: array([[ 3.0088093\n",
      "X_train                   -> array([[[-0.01174874, -0.00817356, -0.0042913 , ..\n",
      "X_train_std               -> array([[-0.80277066, -0.49489511, -0.83240094, ...\n",
      "snrs                      -> [-20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, \n",
      "y_16_val                  -> array([3, 5, 1, ..., 2, 4, 0])\n",
      "y_32_test                 -> defaultdict(<class 'list'>, {0: array([2, 2, 3, ..\n",
      "y_32_train                -> array([5, 0, 2, ..., 4, 6, 6])\n",
      "y_32_val                  -> array([2, 2, 3, ..., 0, 3, 5])\n",
      "y_test                    -> defaultdict(<class 'list'>, {0: array([3, 5, 1, ..\n",
      "y_train                   -> array([5, 0, 2, ..., 4, 6, 6])\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import numpy as np\n",
    "from collections import defaultdict\n",
    "from time import time\n",
    "import pickle  \n",
    "import sklearn\n",
    "from sklearn import metrics\n",
    "\n",
    "%store -r\n",
    "%store"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training data:  (80000, 16) and labels:  (80000,)\n",
      " \n",
      "Test data:\n",
      "Total 20 (4000, 16) arrays for SNR values:\n",
      "[-20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18]\n"
     ]
    }
   ],
   "source": [
    "print(\"Training data: \", X_train_std.shape, \"and labels: \", y_train.shape)\n",
    "print(\" \")\n",
    "print(\"Test data:\")\n",
    "print(\"Total\", len(X_test_std), X_test_std[18].shape, \"arrays for SNR values:\")\n",
    "print(sorted(X_test_std.keys()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train and test the classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 6 candidates, totalling 18 fits\n",
      "Grid search took 7.00 minutes \n",
      "   \n",
      "Result of grid search, best estimator:\n",
      "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n",
      "           metric_params=None, n_jobs=1, n_neighbors=19, p=2,\n",
      "           weights='distance')\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  18 out of  18 | elapsed:  8.0min finished\n"
     ]
    }
   ],
   "source": [
    "#Train the classifier\n",
    "\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "\n",
    "params = {'n_neighbors': [18,19,20], 'weights':['uniform','distance']}\n",
    "\n",
    "grid_search_cv = GridSearchCV(KNeighborsClassifier(algorithm='auto'), params, verbose=1)\n",
    "\n",
    "start = time()\n",
    "grid_search_cv.fit(X_train_std, y_train)\n",
    "print(\"Grid search took %.2f minutes \"%((time() - start)//60))\n",
    "print(\"   \")\n",
    "print(\"Result of grid search, best estimator:\")\n",
    "print(grid_search_cv.best_estimator_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test the classifier\n",
      " \n",
      "k-Nearest Neighbor's Accuracy on -20 dB SNR samples =  0.12275\n",
      "k-Nearest Neighbor's Accuracy on -18 dB SNR samples =  0.13125\n",
      "k-Nearest Neighbor's Accuracy on -16 dB SNR samples =  0.13375\n",
      "k-Nearest Neighbor's Accuracy on -14 dB SNR samples =  0.1275\n",
      "k-Nearest Neighbor's Accuracy on -12 dB SNR samples =  0.142\n",
      "k-Nearest Neighbor's Accuracy on -10 dB SNR samples =  0.16425\n",
      "k-Nearest Neighbor's Accuracy on -8 dB SNR samples =  0.23125\n",
      "k-Nearest Neighbor's Accuracy on -6 dB SNR samples =  0.29325\n",
      "k-Nearest Neighbor's Accuracy on -4 dB SNR samples =  0.345\n",
      "k-Nearest Neighbor's Accuracy on -2 dB SNR samples =  0.34125\n",
      "k-Nearest Neighbor's Accuracy on 0 dB SNR samples =  0.41575\n",
      "k-Nearest Neighbor's Accuracy on 2 dB SNR samples =  0.54375\n",
      "k-Nearest Neighbor's Accuracy on 4 dB SNR samples =  0.637\n",
      "k-Nearest Neighbor's Accuracy on 6 dB SNR samples =  0.64575\n",
      "k-Nearest Neighbor's Accuracy on 8 dB SNR samples =  0.65575\n",
      "k-Nearest Neighbor's Accuracy on 10 dB SNR samples =  0.67625\n",
      "k-Nearest Neighbor's Accuracy on 12 dB SNR samples =  0.663\n",
      "k-Nearest Neighbor's Accuracy on 14 dB SNR samples =  0.6635\n",
      "k-Nearest Neighbor's Accuracy on 16 dB SNR samples =  0.6515\n",
      "k-Nearest Neighbor's Accuracy on 18 dB SNR samples =  0.65275\n"
     ]
    }
   ],
   "source": [
    "#Test the classifier\n",
    "\n",
    "import collections\n",
    "\n",
    "y_pred = defaultdict(list)\n",
    "accuracy = defaultdict(list)\n",
    "\n",
    "print(\"Test the classifier\")\n",
    "print(\" \")\n",
    "for snr in snrs:\n",
    "    y_pred[snr] = grid_search_cv.predict(X_test_std[snr])\n",
    "    accuracy[snr] = metrics.accuracy_score(y_test[snr], y_pred[snr])\n",
    "    print(\"k-Nearest Neighbor's Accuracy on %d dB SNR samples = \"%(snr), accuracy[snr])   \n",
    "    \n",
    "accuracy = collections.OrderedDict(sorted(accuracy.items()))  #sort by ascending SNR values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Visualize classifier performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2e684f6d710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.style.use('classic')\n",
    "\n",
    "fig = plt.figure(figsize=(8, 4), dpi=100)\n",
    "x = snrs\n",
    "y = list(accuracy.values())\n",
    "plt.plot(x, y, marker=\"o\", linewidth=2.0, linestyle='dashed', color='royalblue')\n",
    "plt.axis([-20, 20, 0, 1])\n",
    "plt.xticks(np.arange(min(x), max(x)+1, 2.0))\n",
    "plt.yticks(np.arange(0, 1, 0.10))\n",
    "\n",
    "ttl = plt.title('SNR vs Accuracy', fontsize=16)\n",
    "ttl.set_weight('bold')\n",
    "plt.xlabel('SNR (dB)', fontsize=14)\n",
    "plt.ylabel('Test accuracy', fontsize=14)\n",
    "plt.grid()\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix Without Normalization\n",
      "       8PSK  BPSK  CPFSK  GFSK  PAM4  QAM16  QAM64  QPSK\n",
      "8PSK    220     1      2     8     2     52     46   117\n",
      "BPSK      1   486      0     0    21      7      9     5\n",
      "CPFSK    71     2    448   118     0     16     11    72\n",
      "GFSK     18     0     48   362     1     14     16    15\n",
      "PAM4      0    11      0     0   474      9      4     0\n",
      "QAM16    19     0      0     0     1    153    160    21\n",
      "QAM64    22     0      0     0     1    199    218    20\n",
      "QPSK    149     0      2    12     0     50     36   250\n"
     ]
    }
   ],
   "source": [
    "# Confusion Matrix\n",
    "\n",
    "from sklearn.metrics import confusion_matrix\n",
    "import pandas as pd\n",
    "\n",
    "classes = ['8PSK', 'BPSK', 'CPFSK', 'GFSK', 'PAM4', 'QAM16', 'QAM64', 'QPSK']\n",
    "y_predicted = grid_search_cv.predict(X_test_std[18])\n",
    "conf_matrix = confusion_matrix(y_predicted, y_test[18]) \n",
    "\n",
    "df = pd.DataFrame(data = conf_matrix, columns = classes, index = classes) \n",
    "print(\"Confusion Matrix Without Normalization\")\n",
    "print(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix\n",
      "       8PSK  BPSK  CPFSK  GFSK  PAM4  QAM16  QAM64  QPSK\n",
      "8PSK   0.49  0.00   0.00  0.02  0.00   0.12   0.10  0.26\n",
      "BPSK   0.00  0.92   0.00  0.00  0.04   0.01   0.02  0.01\n",
      "CPFSK  0.10  0.00   0.61  0.16  0.00   0.02   0.01  0.10\n",
      "GFSK   0.04  0.00   0.10  0.76  0.00   0.03   0.03  0.03\n",
      "PAM4   0.00  0.02   0.00  0.00  0.95   0.02   0.01  0.00\n",
      "QAM16  0.05  0.00   0.00  0.00  0.00   0.43   0.45  0.06\n",
      "QAM64  0.05  0.00   0.00  0.00  0.00   0.43   0.47  0.04\n",
      "QPSK   0.30  0.00   0.00  0.02  0.00   0.10   0.07  0.50\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x5d82992828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Normalize the matrix\n",
    "\n",
    "conf_matrix = conf_matrix.astype('float') / conf_matrix.sum(axis=1)[:, np.newaxis]\n",
    "conf_matrix = conf_matrix.round(decimals = 2)\n",
    "\n",
    "import pandas as pd\n",
    "\n",
    "df = pd.DataFrame(data = conf_matrix, columns = classes, index = classes) \n",
    "print(\"Confusion Matrix\")\n",
    "print(df)\n",
    "\n",
    "fig1 = plt.figure(figsize=(8, 4), dpi=100)\n",
    "plt.imshow(conf_matrix, interpolation = 'nearest', cmap = plt.cm.Purples)\n",
    "ticks = np.arange(len(classes))\n",
    "plt.title(\"Confusion Matrix\")\n",
    "plt.xticks(ticks, classes, rotation=45)\n",
    "plt.yticks(ticks, classes)\n",
    "\n",
    "plt.ylabel('True class')\n",
    "plt.xlabel('Predicted class')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.colorbar()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['knn3.pkl']"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.externals import joblib\n",
    "\n",
    "joblib.dump(grid_search_cv, \"knn3.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pickle\n",
    "from sklearn.externals import joblib\n",
    "grid_search_cv = joblib.load(\"knn3.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
